﻿namespace Ayatta.Contract.Domain
{

    #region Account
    /// <summary>
    /// 用户账户
    /// </summary>
    public class Account : Versionable<int>
    {
        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public decimal MoneyFree { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public decimal MoneyFrozen { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public decimal MoneyRecharge { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int CoinFree { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int CoinRecharge { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int Integral { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public decimal TotalMoneyFree { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public decimal TotalMoneyRecharge { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public decimal TotalMoneyRefund { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int TotalCoinFree { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int TotalCoinRecharge { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value></value>
        public int TotalIntegral { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int TotalGameFree { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((0))</value>
        public int TotalGameRecharge { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>('')</value>
        public string Extra { get; set; }

        /// <summary>
        /// 
        /// </summary>
        /// <value>((1))</value>
        public bool Status { get; set; }

        /// <summary>
        /// 可用金额
        /// </summary>
        public decimal AvailableMoney { get { return (MoneyFree + MoneyRecharge - MoneyFrozen); } }

    }

    #endregion

}